﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Koopakiller.Numerics.FormulaSolver
{
    /// <summary>
    /// Represents the identifier of a formula.
    /// </summary>
    public sealed class FormulaIdentifier
    {
        /// <summary>
        /// Gets or sets a unique string identifier of the formula.
        /// </summary>
        public string Identifier { get; set; }

        /// <summary>
        /// Gets or sets a function to create a string from a dictionary of values.
        /// </summary>
        public CreateFormatString CreateFormatString { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="FormulaIdentifier"/> class.
        /// </summary>
        /// <param name="identifier">The unique identifier for the formula.</param>
        /// <param name="createFormatString">A function to create a string from a dictionary of values.</param>
        public FormulaIdentifier(string identifier, CreateFormatString createFormatString)
        {
            this.CreateFormatString = createFormatString;
            this.Identifier = identifier;
        }
    }
}
